<

AppLifecycleState.hidden を追加するための移行ガイド

まとめ

新しいhidden状態が追加されましたAppLifecycleState示す列挙型 アプリケーションが表示されない場合。

コンテクスト

AppLifecycleStateenum は、どのライフサイクル状態を示すために使用されます。 アプリケーションはいつですかWidgetsBindingObserver.didChangeAppLifecycleStateと呼ばれます。

変更内容の説明

新しい状態AppLifecycleState.hiddenに追加されましたAppLifecycleStateの列挙型dart:uiパッケージ。

hiddenすべてのアプリケーション ビューが表示されなくなると、状態に入ります。 ユーザーに表示されます。 Android と iOS では、この状態は常に一時的に入ります。 ステート マシンは、非アクティブから一時停止、または一時停止から非アクティブに遷移します。 一時停止や非アクティブを入力しても変化しません。他のプラットフォームでは、 アプリケーションが表示されていない間はこの状態になります。

移行ガイド

コードにすべてのケースを処理する switch ステートメントがある場合、AppLifecycleStateenum を処理するには、新しいケースを追加する必要があります。AppLifecycleState.hidden州。

移行前のコード:

void didChangeAppLifecycleState(AppLifecycleState state) {
  switch (state) {
    case AppLifecycleState.resumed:
    case AppLifecycleState.inactive:
      // Do something when the app is visible...
      break;
    case AppLifecycleState.paused:
    case AppLifecycleState.detached:
      // Do something when the app is not visible...
      break;
  }
}

移行後のコード:

void didChangeAppLifecycleState(AppLifecycleState state) {
  switch (state) {
    case AppLifecycleState.resumed:
    case AppLifecycleState.inactive:
      // Do something when the app is visible...
      break;
    case AppLifecycleState.hidden:  // <-- This is the new state.
    case AppLifecycleState.paused:
    case AppLifecycleState.detached:
      // Do something when the app is not visible...
      break;
  }
}

すでにある場合は、default:switch ステートメント内の case またはコードで使用されているもの 代わりに条件文を使用すると、コードは変更せずにコンパイルされますが、 デフォルトのケースまたは条件を評価して、hidden状態も処理する必要があります。

タイムライン

リリースされたバージョン: 3.11.0-16.0.pre 安定版リリース: TBD

参考文献

関連する PR:

  • PR 42418: 追加AppLifecycleState.hidden列挙値。
お父さんcd59f-ae27-4de3-b36b-43f40fc40f24